#ifndef MACAPPHELPER_H
#define MACAPPHELPER_H

class QApplication;

class QWindow;
class QScreen;

class MacAppHelper
{
    MacAppHelper();
public:
    static MacAppHelper &get();
    static void installMenuAction(QApplication &app);

    // 通知消息
    static void postNotification(QString title, QString message);
    static void postNotification(QString title, QString subtitle, QString message);

    static void toTop(QWindow *w, QScreen *s);
    static void toNormal(QWindow *w);

    // 设置dock栏，APP红色提醒
    static void setAppIconNumber(int num);

    // 开机启动
    static bool get_auto_start();
    static void set_auto_start(const QString &appname,bool enabled);

    static void setMenuBar();

    // 禁止程序休眠（mac如果允许此选项造成定时器非常不准确）
    static void disable_app_nap();

    // 改变标题颜色
    static void changeTitleBarColor(WId winId, double red, double green, double blue);

    // 隐藏按钮
    static void hideMinMaxButton(WId winId);

    // 是否黑暗模式
    static bool isDarkMode();
};

#endif // MACAPPHELPER_H
